home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Shareware / IDimager Personal 4.2.0.3 / setup_IDimager_Personal_V4.exe / {app} / web / modules / imagecomments.psc < prev    next >
Text File  |  2008-06-21  |  4KB  |  102 lines

  1. %include uservalidate.inc %/include
  2.  
  3. %code
  4.  
  5. %include storeddata.inc %/include
  6. %include publicfunctions.inc %/include
  7.  
  8. var
  9.   AItems: TCatalogItems;
  10.   APage: Integer;
  11.   AComments: TCatalogItemComments;
  12.   AComment: TCatalogItemComment;
  13.   i: Integer;
  14.   ALink: WideString;
  15. begin
  16.   result := toWideString('');
  17.  
  18.   if not FindStoredData (Request.Params.Values['ds'], AItems, False) then
  19.     exit;
  20.  
  21.   APage := 1;
  22.   if IsValidNumberString(Request.Params.Values['page'], False) then
  23.     APage := StrToInt(Request.Params.Values['page']);
  24.   AItem := AItems.Items[APage - 1];
  25.  
  26.   ALink := 'javascript:postForm($(''frmComment''), ''%var:PageOffset/modules/storecomment.psc'', ''%var:PageOffset/modules/imagecomments.psc'', ''' + AjaxContainer + ''', ''ds=' + Request.Params.Values['ds'] + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(APage) + ''')';
  27.  
  28.   if CanUpdateComment (Request.Params.Values['EditGUID']) then
  29.   begin
  30.     AComment := TCatalogItemComment.Create(nil);
  31.     if not Catalog.EnumCommentByGUID (Request.Params.Values['EditGUID'], AComment) then
  32.     begin
  33.       AComment.Free;
  34.       AComment := nil;
  35.     end;
  36.   end
  37.   else
  38.     AComment := nil;
  39.  
  40.   result := result + '<form id="frmComment" method="post" action="' + ALink + '">';
  41.  
  42.   result := result + '<br/><big>Add a comment:</big><br/>'
  43.  
  44.   if AComment <> nil then
  45.   begin
  46.     result := result + '<input type="hidden" name="dfItemGUID" value="' + AComment.GUID + '">';
  47.   end;
  48.  
  49.   result := result + '<textarea id="textComment" class="editObject" name="mmComments" cols="80">';
  50.  
  51.   if AComment <> nil then
  52.     result := result + FormatForHTMLEditing (AComment.Comments.Text);
  53.  
  54.   result := result + '</textarea>';
  55.   result := result + '<br/><input class="editObject" type="submit" value="that''s my opinion">';
  56.  
  57.   result := result + '</form>';
  58.  
  59.   if AComment <> nil then
  60.     AComment.Free;
  61.  
  62.   AComments := TCatalogItemComments.Create (TCatalogItemComment, '');
  63.  
  64.   result := result + '<div id="comments">';
  65.  
  66.   Catalog.EnumCommentsForItem (AItem, AComments);
  67.   for i := 0 to AComments.Count - 1 do
  68.   begin
  69.     result := result + '<div id="commentblock' + iif(i mod 2 = 0, 'even', 'uneven') + '">';
  70.  
  71.     if IsAdmin then
  72.     begin
  73.     end;
  74.  
  75.     if (IsAdmin or (i = 0)) and CanUpdateComment (AComments.Items[i].GUID) then
  76.     begin
  77.       ALink := 'javascript:getHTMLChain(' + 
  78.                              '[' + 
  79.                              '  [''%var:PageOffset/./modules/removecomment.psc'', ''' + AjaxContainer + ''', ''GUID=' + AComments.Items[i].GUID + '''], ' +
  80.                              '  [''%var:PageOffset/./modules/imagecomments.psc'', ''' + AjaxContainer + ''', ''ds=' + Request.Params.Values['ds'] + '&GUID=' + AItems.GUID + '&Page=' + Request.Params.Values['Page'] + '''] ' +
  81.                              ']' + 
  82.                ')';
  83.       result := result + '<a href="' + ALink + '" title="delete this comment..."><img src="%var:PageOffset/images/delete.png"></a>';
  84.  
  85.       ALink := 'javascript:getHTMLChain(' + 
  86.                              '[' + 
  87.                              '  [''%var:PageOffset/./modules/imagecomments.psc'', ''' + AjaxContainer + ''', ''ds=' + Request.Params.Values['ds'] + '&GUID=' + AItems.GUID + '&Page=' + Request.Params.Values['Page'] + '&EditGUID=' + AComments.Items[i].GUID + '''] ' +
  88.                              ']' + 
  89.                ')';
  90.       result := result + '<a href="' + ALink + '" title="edit this comment..."><img src="%var:PageOffset/images/edit.png"></a>';
  91.     end;
  92.  
  93.     result := result + '<span class="commentHeader"><strong>' + AComments.Items[i].FullUserName + '</strong> <i>' + FormattedDateTime ('yyyy-mm-dd hh:nn', AComments.Items[i].Moment) + '</i> </span><br/>' + FormatForHTML(AComments.Items[i].Comments.Text);
  94.     result := result + '</div>';
  95.   end;
  96.  
  97.   result := result + '</div>';
  98.  
  99.   AComments.Free;
  100. end;
  101.  
  102. %/code